from flask import url_for, g
from flask_login import current_user
from ..models.tables import Menu


def set_menu():
    menus = []
    all_menus = Menu.query.all()
    for i in all_menus:
        if i.parent_id == 0:
            if len(list(i.child)) > 0:
                child = []
                for j in i.child:
                    child.append({
                        'name': j.name,
                        'endpoint': j.endpoint,
                        'endpoint_prefix': j.endpoint_prefix,
                        'id': j.id
                    })
                menus.append({
                    'name': i.name,
                    'endpoint': i.endpoint,
                    'endpoint_prefix': i.endpoint_prefix,
                    'id': i.id,
                    'child': child
                })

            else:
                menus.append({
                    'name': i.name,
                    'endpoint': i.endpoint,
                    'endpoint_prefix': i.endpoint_prefix,
                    'id': i.id
                })
    return menus
admin_nav = {
    'current_user': current_user,
    'title': 'test',
    'menus': set_menu()
    # 'menus': [{
    #     'name': '首页',
    #     'id': 1,
    #     'endpoint': 'main.dashboard'
    # }, {
    #     'name': '用户管理',
    #     'endpoint_prefix': 'user',
    #     'child': [{
    #         'name': '用户列表',
    #         'endpoint': 'user.user_list',
    #         'id': 2,
    #     }, {
    #         'name': '个人信息',
    #         'id': 3,
    #         'endpoint': 'user.self'
    #
    #     }]
    # }, {
    #     'name': '角色管理',
    #     'endpoint_prefix': 'role',
    #     'child': [{
    #         'name': '角色列表',
    #         'id': 4,
    #         'endpoint': 'role.role_list'
    #     }]
    # }, {
    #     'name': '会话',
    #     'endpoint_prefix': 'chat',
    #     'child': [{
    #         'name': '当前会话',
    #         'endpoint': 'chat.current'
    #     }, {
    #         'name': '历史会话',
    #         'endpoint': 'chat.history'
    #     }]
    # }, {
    #     'name': '设置',
    #     'endpoint': 'setting.index'
    # }]
}